package operateur;

/**
 * Interface definition : GestionColis
 * 
 * @author OpenORB Compiler
 */
public class GestionColisPOATie extends GestionColisPOA
{

    //
    // Private reference to implementation object
    //
    private GestionColisOperations _tie;

    //
    // Private reference to POA
    //
    private org.omg.PortableServer.POA _poa;

    /**
     * Constructor
     */
    public GestionColisPOATie(GestionColisOperations tieObject)
    {
        _tie = tieObject;
    }

    /**
     * Constructor
     */
    public GestionColisPOATie(GestionColisOperations tieObject, org.omg.PortableServer.POA poa)
    {
        _tie = tieObject;
        _poa = poa;
    }

    /**
     * Get the delegate
     */
    public GestionColisOperations _delegate()
    {
        return _tie;
    }

    /**
     * Set the delegate
     */
    public void _delegate(GestionColisOperations delegate_)
    {
        _tie = delegate_;
    }

    /**
     * _default_POA method
     */
    public org.omg.PortableServer.POA _default_POA()
    {
        if (_poa != null)
            return _poa;
        else
            return super._default_POA();
    }

    /**
     * Operation deposer
     */
    public operateur.Rep_DepotInitial deposer(String idDeposant, String idDestinataire, String idStation)
        throws operateur.Err_SoldeInsuffisant, operateur.Err_Zone
    {
        return _tie.deposer( idDeposant,  idDestinataire,  idStation);
    }

    /**
     * Operation confirmationDepot
     */
    public float confirmationDepot(operateur.codeRFID RFID_Colis)
        throws operateur.Err_CodeRFID_Inexistant
    {
        return _tie.confirmationDepot( RFID_Colis);
    }

    /**
     * Operation accepterTransport
     */
    public String accepterTransport(operateur.codeRFID RFID_Colis, String idTransporteur)
        throws operateur.Err_TransportAllreadyValidate
    {
        return _tie.accepterTransport( RFID_Colis,  idTransporteur);
    }

    /**
     * Operation demandeRetraitTransporteur
     */
    public operateur.codeRFID demandeRetraitTransporteur(String codeTransporteur)
        throws operateur.Err_CodeRetrait
    {
        return _tie.demandeRetraitTransporteur( codeTransporteur);
    }

    /**
     * Operation getListeColisEnAttenteDeDepot
     */
    public operateur.codeRFID[] getListeColisEnAttenteDeDepot(String IDTransporteur, String IDStation)
    {
        return _tie.getListeColisEnAttenteDeDepot( IDTransporteur,  IDStation);
    }

    /**
     * Operation retraitColis
     */
    public operateur.codeRFID retraitColis(String idUtilisateur, String idStation)
        throws operateur.Err_NoColis
    {
        return _tie.retraitColis( idUtilisateur,  idStation);
    }

    /**
     * Operation getListeColisClient
     */
    public operateur.InfoColis[] getListeColisClient(String idUtilisateur)
        throws operateur.Err_NoColis
    {
        return _tie.getListeColisClient( idUtilisateur);
    }

    /**
     * Operation depotApresTransport
     */
    public void depotApresTransport(operateur.codeRFID colisDepose)
    {
        _tie.depotApresTransport( colisDepose);
    }

    /**
     * Operation confirmationRetraitColis
     */
    public void confirmationRetraitColis(operateur.codeRFID colisRetire)
    {
        _tie.confirmationRetraitColis( colisRetire);
    }

}
